/*!
 * blogedit.html 页面脚本.
 * 
 * @since: 1.0.0 2017-03-26
 * @author Way Lau <https://waylau.com>
 */
"use strict";
//# sourceURL=blogedit.js

// DOM 加载完再执行
$(function() {
 
	// 初始化 md 编辑器
    $("#md").markdown({
        language: 'zh',
        fullscreen: {
            enable: true
        },
        resize:'vertical',
        localStorage:'md',
        imgurl: 'http://localhost:8081',
        base64url: 'http://localhost:8081'
    });
 

    
    // 初始化下拉
    $('.form-control-chosen').chosen();
    
    
    // 初始化标签
    $('.form-control-tag').tagsInput({
    	'defaultText':'标签内容以英文标识,输入完成后按回车创建标签.'
    });

    $(".tagsinput div input").css("width","100%").css("ime-mode","disabled").onlyNumAlpha();

    /**
	 * 上传文件
     */
 	$("#uploadImage").click(function() {
        var file = $('#InputFile').get(0).files[0];
        if(file == null || file.size < 0){
            toastr.error("请选择图片");
            return;
		}
        var maxsize = 5*1024*1024;//5M
        if(!/image\/\w+/.test(file.type)){
            toastr.error("请选择图片类型的文件");
            return false;
            return;
        }
        if(file.size > maxsize){
            toastr.error("图片文件不能大于5M");
            return ;
		}
        var reader = new FileReader();
        reader.readAsDataURL(file);
        reader.onload = function(e){
        	var base64Code = this.result
			if(base64Code == null || base64Code.length <=0 ){
                toastr.error("解析文件失败");
			}
            console.log(base64Code);
            var csrfToken = $("meta[name='_csrf']").attr("content");
            var csrfHeader = $("meta[name='_csrf_header']").attr("content");
            $.ajax({
                url: '/blog/file/upload',
                type: 'post',
                cache: false,
                beforeSend: function(request) {
                    request.setRequestHeader(csrfHeader, csrfToken); // 添加  CSRF Token
                },
                data: {"base64Code" : base64Code},
                success: function(data){
                    if(data.code == "000"){
                        var mdcontent=$("#md").val();
                        $("#md").val(mdcontent + "\n![](http://"+data.data +") \n");
					}else{
                        toastr.error(data.msg);
					}
                },
                error : function() {
                    toastr.error("未知错误");
                }
            }).done(function(res) {
                $('#file').val('');
            }).fail(function(res) {});
        }
 	})
 
 	// 发布博客
 	$("#submitBlog").click(function() {
 		
		// 获取 CSRF Token 
		var csrfToken = $("meta[name='_csrf']").attr("content");
		var csrfHeader = $("meta[name='_csrf_header']").attr("content");

		$.ajax({
		    url: '/blog/space/'+ $(this).attr("userName") + '/blogs/edit',
		    type: 'POST',
			contentType: "application/json; charset=utf-8",
		    data:JSON.stringify({"id":$('#blogId').val(), 
		    	"title": $('#title').val(), 
		    	"summary": $('#summary').val() , 
		    	"content": $('#md').val(),
		    	"catalog":{"id":$('#catalogSelect').val()},
		    	"tags":$('.form-control-tag').val()
		    	}),
			beforeSend: function(request) {
			    request.setRequestHeader(csrfHeader, csrfToken); // 添加  CSRF Token 
			},
			 success: function(data){
				 if (data.success) {
                     toastr.success("文章发布成功");
                     setTimeout(function () {
                         // 成功后，重定向
                         window.location = data.data;
                     },1500)
				 } else {
					 toastr.error("error!"+data.message);
				 }
				 
		     },
		     error : function() {
		    	 toastr.error("error!");
		     }
		})
 	})
});


$.fn.onlyNumAlpha = function () {
     $(this).bind("paste", function () {
             if (/^(\d|[a-zA-Z])+$/.test(this.value))
                     return true;
             else
               return false;
     }).bind("change",function () {
             console.log("change")
             if (!/^(\d|[a-zA-Z])+$/.test(this.value)){
                 $(this).val('');
             }
     }).bind("keydown",function(e){
         var key = e.which;
         if(key == 13){
             if (!/^(\d|[a-zA-Z])+$/.test(this.value)){
                 $(this).val('');
             }
         }
     });
};